﻿using System;
using System.Collections.Generic;
using Newtonsoft.Json;

namespace Close.io.API
{
	public class Envelope
	{
		[JsonProperty(PropertyName = "from")]
		public IEnumerable<KeyValuePair<string, string>> From { get; private set; }

		[JsonProperty(PropertyName = "sendor")]
		public IEnumerable<KeyValuePair<string, string>> Sender { get; private set; }

		[JsonProperty(PropertyName = "to")]
		public IEnumerable<KeyValuePair<string, string>> To { get; private set; }

		[JsonProperty(PropertyName = "cc")]
		public IEnumerable<KeyValuePair<string, string>> CC { get; private set; }

		[JsonProperty(PropertyName = "bcc")]
		public IEnumerable<KeyValuePair<string, string>> BCC { get; private set; }

		[JsonProperty(PropertyName = "reply_to")]
		public IEnumerable<KeyValuePair<string, string>> ReplyTo { get; private set; }

		[JsonProperty(PropertyName = "date")]
		public DateTime? Date { get; private set; }

		[JsonProperty(PropertyName = "in_reply_to")]
		public string InReplyTo { get; private set; }

		[JsonProperty(PropertyName = "message_id")]
		public string MessageId { get; private set; }
	}
}